Interface for watching a stream of videos

ABSTRACT

A computing device provides a display of a plurality of channel previews for a plurality of channels in a channel control area in a user interface, the display distinguishing a first channel preview of the plurality of channel previews that pertains to a first channel of the plurality of channels. The computing device further provides a display of a first set of video previews for a first set of videos in a video control area in the user interface, wherein the first set of video previews is associated with the first channel preview. Responsive to the computing device receiving an input identifying a second channel preview of the plurality of channel previews that pertains to a second channel of the plurality of channels, the computing device replaces the first set of video previews in the video control area with a second set of video previews associated with the second channel preview.

RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 13/620,269, Filed Sep. 14, 2012, which is acontinuation application of U.S. patent application Ser. No. 13/287,336,Filed Nov. 2, 2011, which claims priority to U.S. Provisional PatentApplication No. 61/488,682, entitled INTERFACE FOR WATCHING A STREAM OFVIDEOS, filed on May 20, 2011.

TECHNICAL FIELD

The present disclosure generally relates to video browsing, andspecifically to browsing sets of videos and continuously playing a setof videos.

BACKGROUND

For current video hosting websites, such as YOUTUBE, the user interfaceincludes a video display window where a currently selected video ispresented, along with various means by which one or more other videosmay be selected for viewing. In interfaces that are designed for displayon a computer screen, the user can select another video by selecting ahyperlink or a thumbnail image that is displayed in a sidebar or byentering a keyword search for a new video.

However, the arrangement, appearance, and behavior of these userinterfaces are designed to be used by a user of a conventional computerhaving input devices such as a mouse, which allows the user to easilymove a cursor to any point on the display device, and keyboard, whichallows for direct alphanumeric input. As such, these user interfacesbecome difficult to navigate when applied to televisions or otherdevices where the user input device provide very limited input controls.For instance, many televisions are controlled with a simple directionalinput device that has only up, down, left, and right buttons or keys,such as a directional pad (“D-pad”) or the “arrow keys” on a keyboardSuch devices do not provide for full, arbitrary placement control over acursor, but instead only allow for limited vertical and horizontalmovements.

The problem is compounded as the number of available videos increases.Many video hosting websites host millions of videos, thereby making itall the more important to provide a user interface by which the user caneasily browse and search for content of interest. Additionally, manyusers can now very easily view video content from video hosting sites ontelevisions and other display systems operated by D-pad typecontrollers, rather than with a computer mouse and keyboard. Userscontinue to expect to have the ease of use they are familiar with fromtheir computer experiences in the different system environment of atelevision or similar display device.

SUMMARY

The present disclosure relates to computer-implemented methods, systemsand computer program products for browsing of videos from a videohosting server using a directional control input device, such as a D-pador the arrows keys on a keyboard, and selecting a video for playback. Inone embodiment, a video is displayed to a user in a user interface of aclient video player (“the current video”). In response to a userselection of an input control on the input device, a set of navigationcontrols are displayed overlaid on the current video, which is displayedfull screen in the background behind the overlaid navigation controls.The navigation controls are designed for compatibility with thedirectional control input device.

The client player enables the user to navigate through multiple levelsof controls, using the up and down inputs of the direction control inputdevice, where each level of control provides a specific type of accessfunctionality of accessing videos and controlling playback. For example,the levels may include a search level, a playback control level, aplayback level, a video level and a channel level. The channel leveldisplays a plurality of different channels (equivalently categories) ofvideo content. The video level displays a plurality of videos availablewithin a given channel. The playback level displays the current fullscreen video without overlaid controls. The playback control leveldisplays a set of controls for controlling the playback of the currentvideo. The search level provides an interface by which the user input asearch query for searching for videos. The levels are linearly arrangedso that the user intuitively knows the order of the levels and how tonavigate between them using just the directional controls of the inputdevice.

Within each level there are a number of options for viewing andcontrolling videos. The left and right directional controls allow theuser to navigate the options at each of the various user interfacelevels. For example, at the video level, the horizontal navigationcontrols are effective to focus one of a plurality of video previewsthat is displayed. Focusing on a video preview causes the display ofaccompanying metadata providing additional information to the user. Theuser can then choose to play a focused video with a select input. Theuser can similarly browse through other options such as previews ofchannels, playback controls, or text entered in a search box.

The features and advantages described in this summary and the followingdetailed description are not all inclusive. Many additional features andadvantages will be apparent to one of ordinary skill in the art in viewof the drawings, specification and claims hereof.

BRIEF DESCRIPTION OF THE DRAWINGS

Figure (FIG.) 1 is a block diagram of the system architecture inaccordance with one embodiment.

FIG. 2 illustrates a chart of the levels of control and the response touser input for each level in accordance with one embodiment.

FIG. 2A illustrates a schematic view of a video browsing interface inaccordance with one embodiment.

FIG. 3 illustrates a welcome screen that is displayed on startup inaccordance with one embodiment.

FIG. 4 illustrates the video level of the user interface in accordancewith one embodiment.

FIG. 5 illustrates the channel level of the user interface in accordancewith one embodiment.

FIG. 6 illustrates the playback control level of the user interface inaccordance with one embodiment.

FIG. 7 illustrates the search level of the user interface in accordancewith one embodiment.

FIG. 8 illustrates search results displayed as a channel in accordancewith one embodiment.

FIG. 9 illustrates a user sign in prompt displayed as a channel inaccordance with one embodiment.

FIG. 10 illustrates channels with type indicators in accordance with oneembodiment.

The figures depict a preferred embodiment of the present disclosure forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles described herein.

DETAILED DESCRIPTION

FIG. 1 illustrates an exemplary system architecture of a video hostingsystem in accordance with one embodiment. The system includes clients123 that communicate with a video hosting server 100 via a network 121.Generally, the video hosting server 100 is responsible for hostinguploaded media items for display to users of the clients 123. In thecontext of the system, the video hosting server 100 is specificallyresponsible for generating and providing to a video player in a clientdevice instructions and data from which the video player can display auser interface as described herein. Alternatively, in other embodiments,the video player in the client can be responsible for generating theuser interface. It should be noted that videos are just one example ofmedia items, and in other embodiments, the principles described hereinare applicable to any type of media items (e.g., pictures, music, etc).

As shown in FIG. 1, the video hosting server 100 comprises a front endinterface 101, an ingest module 103, a video search module 105, a videoserving module 107, a video set module 109, a video controls module 111,a video access log 115, a user database 117, and a video database 119.Many conventional features, such as firewalls, load balancers,application servers, failover servers, site management tools and soforth are not shown so as not to obscure the features of the system.

The video hosting server 100 can be accessed through various means. Asuitable website for implementation of the video hosting server 100 isthe YOUTUBE™ website, found at www.youtube.com; other video hostingsites are known as well, and can be adapted to operate according to theteaching disclosed herein. It will be understood that the term “website”represents any computer system adapted to serve content using anyinternetworking protocols, and is not intended to be limited to contentuploaded or downloaded via the Internet or the HTTP protocol. Ingeneral, functions described in one embodiment as being performed on theserver 100 side can also be performed on the client 123 side in otherembodiments if appropriate. In addition, the functionality attributed toa particular component can be performed by different or multiplecomponents operating together. The server 100 can also be accessed as aservice provided to other systems or devices through appropriateapplication programming interfaces, and thus is not limited to use inwebsites only.

The video hosting server 100 is implemented as server program executingon server-class computer comprising a CPU, memory, network interface,peripheral interfaces, and other well known components. The computersthemselves run an operating system such as LINUX, Microsoft Windows, orMac OS, have generally high performance CPUs, 2G or more of memory, and1 TB or more of disk storage. Of course, other types of computers can beused, and it is expected that as more powerful computers are developedin the future, they can be configured in accordance with the teachingshere. The functionality implemented by any of the elements can beprovided from computer program products (e.g., as computer executableinstructions) that are stored in tangible computer-readable storagemediums (e.g., RAM, hard disk, or optical/magnetic media).

In one embodiment a client 123 executes a video player 125 and canconnect to the video hosting server 100 to view media content, hereinreferred to as a “video,” “video content” or “video items” via a network121. Network 121 is typically the internet, but can also be any network,including but not limited to any combination of a LAN, a MAN, a WAN, amobile, wired or wireless network, a private network, or a virtualprivate network. While only a two clients 123 and video players 125 areshown, it is understood that very large numbers (e.g., millions) ofclients are supported and can be in communication with the video hostingserver 100 at any time.

In one embodiment, the client 123 may include a variety of differentcomputing devices, some examples of which are televisions, set topboxes, video game consoles, personal computers, digital assistants,personal digital assistants, cellular phones, mobile phones, smartphones, tablet computers and laptop computers. The client 123 may beadapted to work with various input devices, such examples of which are amouse, keyboard, touch-screen, or remote control. In the variousembodiments discussed here, the client 123 has a directional controltype input device that is generally limited, in regards to controllingcursor (or “focus”) movement, to directional inputs (e.g., up, down,left, right) and selection inputs (select or enter). Of course, othertypes of non-cursor inputs may be available on such a device (e.g.,menu, context, programming, etc.).

The video player 125 includes any application that is adapted forplaying and browsing videos stored on the video hosting server 100. Theplayer can be adapted to play videos in various formats, such as AdobeFlash™, WebM, H.264, DivX, FFMPEG, and the like. In one embodiment, thevideo player 125 may be a standalone program that is specificallydedicated for video playback (e.g., a dedicated program in a set topbox). In other embodiments, the video player 125 is a plug-in or add onto a web browser that allows users of client 123 to access web pages onthe World Wide Web. Suitable applications are Microsoft InternetExplorer, Netscape Navigator, Mozilla Firefox, Apple Safari or anyapplication adapted to allow access to web pages on the World Wide Web.

The video player 125 allows the user of client 123 to search for andbrowse through videos hosted by the video hosting server 100 via a userinterface provided by the front end interface 101, and loaded into thevideo player 125. By loading the user interface in the video player 125,a user can find and play a video. The user can select other videos forplayback by browsing through different sets of videos that are relatedto the current video. Alternatively, the user interface can be native tothe video player 125, and then populated with its content in the manneras described below.

Users of the client devices 123 can also search for videos on the userinterface based on keywords, tags or other metadata. In one embodiment,these requests are received as queries in the user interface provided bythe front end interface 101 and are provided to the video search module105, which searches the video database 119 for videos that satisfy thequeries. The video search module 105 supports searching on any fieldeddata for video content, including its title, description, tags, author,category, comment, and so forth. The video serving module 107 retrievesvideos selected by the video search module 105 from the video database119, which is formatted into a file and transmitted to the client 123for playback in the user interface.

In some embodiments, the video player 125 also allows users to uploadvideos to the video hosting server 100 via the user interface providedby the front end interface 101. In one embodiment, the uploaded videosprovided by users are processed by an ingest module 103 at the videohosting server 100. The ingest module 103 processes the video forstorage in the video database 119. The processing can includeappropriate transformations for the video content. For example, videoprocessing can include format conversion (transcoding), compression,metadata tagging, and other data processing. The uploaded videos caninclude, for example, video, audio or a combination of video and audio.The ingest module 103 processes the videos in order to standardizecontent for playback to users of client 123. Once uploaded videos havebeen formatted, the ingest module 109 stores the video into the database119. An uploaded video is associated with the content publisher (i.e.,the user that uploaded the video) and the content publisher's accountrecord is updated in the user database 117 as needed.

The video database 119 is used to store videos. The video database 119stores videos and associated metadata provided by their respectivecontent owner who provided the videos. Each stored video is assigned avideo identifier (ID) when it is processed by the ingest module 109. Thevideos have metadata associated with each video such as a video ID,artist, video title, label, genre, time length, and optionallygeo-restrictions that can be used for data collection or contentblocking on a geographic basis.

The user database 117 stores a record of all users viewing videosprovided by the video hosting server 100. In one embodiment, the userdatabase 117 stores a record of all users who have registered an accountwith the video hosting server 100. Each registered account includes atleast a user name and e-mail address associated with the account. Aregistered account may also include information about the userassociated with the account such as their name, hobbies, uploadedvideos, favorite videos, and/or playlists of videos created by theusers.

For each user, the video access log 115 tracks the user's interactionswith videos, from which relationships between videos can be determined.Each entry in the video access log 160 identifies a video beingaccessed, a time of access, a user ID if available, data identifying thetype of interaction with the video. Interaction types can include anyuser interaction, such as playing, saving, rating, sharing, pausing,rewinding, and forwarding a video. The video access log may alsomaintain information on videos users choose to watch as measured byclick thru rates between videos and/or percentage of a video watched.For example, the click thru rate between a first and second video may bethe rate at which users choose (e.g., via a user input selection, suchas a click) to view the second video, when presented with the firstvideo. For example, a click thru rate can be computed as the number oftimes users choose to view the second video divided by the number oftimes the users are presented with the option of playing the secondvideo while the first video is being played. Alternatively, the clickthru rate may be simply computed as the number of times a video isselected for display divided by the number of times the video ispresented as available for displaying (e.g., a thumbnail or a link).This information as well as other types of information may be used todetermine what videos are presented to a user.

The video set module 109 accesses the video access log 115, the userdatabase 117 and/or video database 119 to identify sets of videos orchannels that have related videos. A set of videos refers to anygrouping of videos from the video database 119. For example, a set ofvideos may include:

(1) videos sharing common metadata (e.g., artist, genre, title, etc.);

(2) videos uploaded by the same user;

(3) videos in a user-created playlist;

The video controls module 111 manages the generation and display ofcontextual browsing controls for browsing of videos sets. The videocontrols module 111 receives from the client 123 user inputs withrespect to the browsing controls, and updates the labels on thecontrols, and the video set that is presented in conjunction with thecontrols, and provides the updated information to front end interface101 for presentation to the client 123.

In one embodiment, a hierarchy of control levels is used to allow a userto interact with the video server 100 and choose videos to play. Forexample, the levels may include a search level, a playback controllevel, a playback level, a video level, and a channel level displayingpreviews of videos within a channel. The search level provides aninterface by which the user input a search query for searching forvideos. The playback level displays the full screen video withoutoverlaid controls. The playback control level displays a set of controlsfor controlling the playback of the current video. The video leveldisplays a plurality of videos available within a given channel. Thechannel level displays a plurality of different channels (equivalentlycategories) of video content.

The browsing controls allow a user to move the cursor (or focus) betweencontrol levels, and to select items or controls within each level, suchas sets of videos for playback from the channel level, or a specificvideo within a set of videos from the video level. Generally, the videocontrols module 111 receives user inputs from the client 123 via thefront end interface 101 for switching between sets of videos, browsingwithin a set of videos, or selecting a video for playback. The userinputs are generally originated from a directional controller type ofdevice, such as a D-pad controller, arrow keys on a keyboard, or thelike, which have the semantics of “up,” “down,” “left”, “right”, and“select,” though of course they can be transmitted as coded inputsignals.

In response, the video controls module 111 updates the user interfacedisplayed and the video set that is presented in conjunction with thecontrols in accordance with the user input. In accordance with anembodiment, as the user changes control levels (e.g., by pressing “up”or “down” on the input device) the contextual controls displayed on thescreen change. That is, for example, if a user is navigating the videocontrol level, the contextual menu for the video control level isdisplayed. In response to receiving an “down” input, the contextual menuof the video control level is removed from the display (e.g.,disappears) and is replaced by the contextual control menu of thechannel control level.

In some embodiments, the functionality of the video controls module 111may be implemented in the client 123 instead of the server 100. In oneembodiment, a full screen video is constantly played on the client 123.Visual controls, e.g., playback controls, that are in use by the usercan be displayed on top of the full screen video (i.e., as a screenoverlay). The controls can be displayed semi-transparently or opaquelyon top of the full screen video.

The contextual controls allow for a simple and intuitive method ofselecting an additional video to watch. Also, because a user caninteract with the controls with a simple set of inputs (e.g., up, down,left, right, select), the interface is particularly beneficial when usedin conjunction with devices that have constrained inputs.

FIG. 2 illustrates a chart of the levels of control and the response todevice input for each level in accordance with one embodiment. Column201 of the chart lists the levels of control available to a user ofclient 123. In one embodiment, the levels of control include search,playback control, playback, videos and channels. The levels of controllisted are merely exemplary and different or additional levels may beused in their place. The search level 211 provides search functionalityby which the user can enter a search query in order to select a certainchannel or video. The playback control level 212 provides playbackcontrols for controlling the currently display video, which may includeplay, pause, fast forward and various other controls. The playback level213 plays the current video in full screen without any overlaidcontrols. The video level 214 provides access to a plurality of videosthat are a part of the channel (or set) associated with the currentvideo. The channel level 215 provides access to a plurality of channelsfor the user to choose from. Activation of each level via an inputcontrol results in the display of specific control features associatedwith the activated level, while the control features from the previouslevel may be removed, or displayed in a subdued format, to providecontext for the currently active level.

The user switches (equivalently, moves the focus) between the variouslevels by utilizing the up and down inputs (generally, vertical inputs)of a directional input device. For example, if currently at the playbacklevel 212, an up input would result in switching to the search level211, while a down input would result in switching to the playback level213. In a similar manner, a user can switch between all of the levelslisted in column 1 201 through use of up and down inputs.

Column 202 lists the actions that occur at a given control level when aleft or right input (generally, horizontal input) is received from thedirectional input device. Similarly, column 203 lists the actions thatoccur at a given level when a select input is received from thedirectional input device. For example, while at search level 211, a usercan input a string into an input field for a search query. At thislevel, the left and right inputs of the input device result in a cursormoving 216 left or right in the input field, such that the user can editthe input. Additionally, a select input begins 221 the search query andrequests search results from the server 100 to display to the user.While in the playback control level 212, a horizontal input alters 217the control that is currently selected by the user. A select inputexecutes 222 the currently selected control.

At the playback level 213, a left input causes to the video player toimmediately play the previous video in the current channel, while aright input causes the video player 125 to immediately play the nextvideo that is scheduled to play in the current channel. In oneembodiment, reception of a select input while at the playback level 213causes the client 125 to display playback controls as if an up input wasreceived to switch to playback control level 212.

Entering the video level 214 displays a plurality of videos that are apart of the current channel from which the currently playing videooriginated. A left or right input changes which of the plurality ofvideos has the focus, respectively the previous or next video. In oneembodiment, providing the focus to a video causes the player to displaymetadata for the video, including author, date of submission and title.In addition, a select input causes the video player 125 to play 224 thefocused video. When the video level 214 is entered, the channel level215 may also be displayed concurrently therewith, with the currentchannel being graphically indicated.

Entering channel level 215 causes a plurality of channels to bedisplayed. Left and right inputs allow the user to focus 220 a channel,respectively the previous or next channel. As the user moves the focusfrom one channel to the next, the video player 125 displays in the videolevel 214 previews or thumbnails of videos that are a part of thecurrently focused channel. A select input from the directionalcontroller selects 225 the focused channel and begins playback of afirst video from the channel. In one embodiment, at the conclusion ofthe first video, additional videos from the selected channel will playcontinuously.

FIG. 2A illustrates a schematic view of a video browsing interface inaccordance with one embodiment. As shown, a current video 205 would playin the background of the user interface 200. While five levels of theuser interface are shown in the schematic, a subset of the levels may beshown to the user at any given time. Generally, the levels are organizedalong the vertical axis 240 for ease of navigation and options withineach of the levels are organized along the horizontal axis 242. A searchbar 230 allows entry of a search query at the search level 211. Aplayback control bar 232 allows control of the current video 205 whileat the playback control level 212. At the playback level, the currentvideo 205 is displayed with all or most user interface controls hidden.A row of video previews 234 is displayed along the bottom portion of thescreen at the video level 214 and the channel level 215. Similarly, arow of channel previews 236 is displayed along the bottom portion of thescreen at the video level 214 and the channel level 215. Focus on achannel preview and/or video preview may be indicated by the userinterface, e.g., by highlighting, change of color, luminance, shape etc.As illustrated, at the video level, a preview for channel k 252 may befocused to indicate which channel the videos in the row of videopreviews 234 belong to. Additionally, a preview for video m+1 254 may befocused to indicate a focused video during browsing. An indication offocus can designate which video will play when a select input isreceived at the video level 214.

FIG. 3 illustrates a welcome screen that is displayed on startup by thevideo player in accordance with one embodiment. The welcome screen isdisplayed to help familiarize the user with the user interface.Alternatively, on startup the system could begin displaying full screenvideo without any welcome screen or other overlay. As illustrated, theuser is prompted to begin typing to enter a search query or press downto begin watching full screen video.

FIG. 4 illustrates the video level 214 in accordance with oneembodiment. Full screen video 400 is displayed in a significant portionof the screen. Hence, the user can navigate the video level while stillbeing able to view the video that is currently playing. The currentvideo set or channel 402 is displayed near the bottom of the screen in arow of channels (here, “Your Feed,” “Music,” “In Theaters,” “Autos &Vehicles,” “Comedy,” and “Education”). These channels are shown in asubdued format, here both grayed out, and small icons. The display ofthe additional channels in conjunction with the video channel providesthe user with a general context of the available content at twodifferent levels simultaneously. The additional channels displayed alongthe bottom of the screen can be accessed by entering the channel levelin response to a down input from the direction controller. Above the rowof channels, the videos that are in the current channel are displayedacross the screen.

In the video level, the user navigates the videos and focuses onindividual videos with the left and right controls of the directionalcontroller. The user is not limited to the videos that are initiallydisplayed. Navigating in one direction to the edge of the window causesthe row of videos to scroll in the opposite direction, and new videos tomove into the viewable area. One focused video 404 is selected in therow of videos and can be chosen for playback by a selection input fromthe directional controller. Metadata is displayed in an information box406 associated with the focused video 404. The metadata may includetitle, author, submission date, video length, and number of views. Aspreviously mentioned, at the conclusion of a current video, anadditional video from the same channel as the current video may begin toplay automatically in order to provide continuous playback to the user.In one embodiment, the row of videos is displayed when the additionalvideo begins and the information box 406 is displayed containingmetadata for the additional video to provide additional context to theuser. In another embodiment, only information box 406 is displayed whenthe additional video begins to provide metadata related to theadditional video to the user.

FIG. 5 illustrates the channel level in accordance with one embodiment.The channel level can be accessed in response to a down input from thedirectional controller while at the video level. Full screen video 400is again displayed in a significant portion of the screen. Initially,the current channel is the focused channel 502 in the row of channelsnear the bottom of the screen. In response to left and right inputs fromthe directional controller, the video player navigates through aplurality of channels, moving the focus between channels. A preview rowof videos 504 associated with the focused channel is displayed above thefocused channel 502, again providing two level of contextsimultaneously. If a select input is received from the directionalcontroller, a video from the focused channel 502 begins to play andadditional videos from the focused channel are queued for playback. Inone embodiment, an up input from the directional controller enters videolevel 214 of the currently focused channel. Alternatively, an up inputfrom the directional controller enters video level 214 of the channelfrom which the full screen video 400 originated regardless of thecurrently focused video 502.

FIG. 6 illustrates the playback control level in accordance with oneembodiment. The playback control level is accessed through an up inputfrom the directional controller while at the playback level, or by adown input from the directional controller while at the search level.Full screen video 440 is displayed in a significant portion of thescreen. A control bar 602 is overlaid on the full screen video 400. Thecontrol bar 602 contains icons allowing the user to control playback ofthe video including a previous video button 604, a play/pause button606, and a next video button 608. As illustrated, the control bar 602also includes a time icon 610 indicating the current position in and thetotal length of the current video.

FIG. 7 illustrates the search level in accordance with one embodiment.The search level is generally accessed by an up input from thedirectional controller while at the playback control level. In oneembodiment, the search level is accessed in response to user searchinput (e.g., text inputs) at any other level. The video player displaysa search bar 702 overlaid on full screen video 400. The user can enter asearch query into the search bar 702. In response to the query, theplayer 125 transmits the query to the video hosting system 100, whichexecutes a search for relevant videos or channels. Text input can beaccomplished through well known methods including a traditionalkeyboard, a virtual keyboard, or on screen character selection with adirectional controller.

FIG. 8 illustrates how the video player displays search results as achannel in accordance with one embodiment. Here, the search results aredisplayed as the videos contained in a channel. A search channel 802 isgenerated containing the video search results of the search queryentered by the user. After entering the search query, the system entersthe video level allowing the user to browse videos in the row of videopreviews 804. Metadata displayed in information box 806 aids the user inselecting a video.

FIG. 9 illustrates a user sign in prompt displayed by the video playeras a channel in accordance with one embodiment. In one embodiment, auser sign in prompt 902 is displayed as a channel while at the channellevel and/or the video level. In response to receiving the focus on thisprompt and then receiving a selection from the directional controller,the video player displays sign in window into which the user can inputtheir logon credentials (e.g., user name and password) to sign in totheir account. After signing in, the user interface can be customizedfor the user. For example, the videos displayed in the row of videopreviews 904 are those associated with the user's account.

In one embodiment, after signing in, a feed channel is automaticallydisplayed to the user in the row of channel previews, and includesvideos that are determined to be relevant to the user, based on theuser's interest (either express or derived from the user's historicalviewing behavior), social network, and/or previous search queries by theuser, or the like. For example, the feed channel may contain videos fromchannels that the user has subscribed to (an example of relevance basedon an expressed interest), videos that have been shared or recommendedby friends of the user (an example of relevance based on the user'ssocial network), and/or videos related to other videos that the user haspreviously watched (an example of relevance based on historical viewingbehavior). In one embodiment, if the user is already logged in, uponstartup of the video player 125, the feed channel automatically beginsplaying as full screen video at the playback level 213. The customizednature of the feed increases the likelihood of interest from the user.

FIG. 10 illustrates channels with type indicators in accordance with oneembodiment. In this embodiment, channel icons displayed along the bottomof the screen at the video level or channel level include typeindicators. For example, search indicators 1002 and 1004 are displayedon channels that were generated due to a search query. A feed indicator1006 indicates that a channel is a feed based on user preferences.Additionally, a playlist indicator 1008 identifies channels that areplaylists created by a user of the video hosting server 100.

The above described user interfaces are generally displayed by the videoplayer in response to commands and data provided by the video hostingservice 100. The service 100 generally provides the underlying videocontent, metadata, labels, previews, and other dynamic elements. Theplayer uses this data in conjunction with internal programming logicthat implements the functional operations described above in response tothe inputs received from the directional controller.

The apparatus described above for performing the described operationsmay be specially constructed for the required purposes, or it maycomprise a general-purpose computer selectively activated orreconfigured by a computer program stored in the computer. Such acomputer program may be stored in a computer readable storage medium,such as, but is not limited to, any type of disk including floppy disks,optical disks, CD-ROMs, magnetic-optical disks, read-only memories(ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic oroptical cards, application specific integrated circuits (ASICs), or anytype of media suitable for storing electronic instructions, and eachcoupled to a computer system bus. Furthermore, the computers referred toin the specification may include a single processor or may bearchitectures employing multiple processor designs for increasedcomputing capability.

Some portions of above description describe the embodiments in terms ofalgorithms and symbolic representations of operations on information.These algorithmic descriptions and representations are commonly used bythose skilled in the data processing arts to convey the substance oftheir work effectively to others skilled in the art. These operations,while described functionally, computationally, or logically, areunderstood to be implemented by computer programs or equivalentelectrical circuits, microcode, or the like. Furthermore, it has alsoproven convenient at times, to refer to these arrangements of operationsas modules, without loss of generality. The described operations andtheir associated modules may be embodied in software, firmware,hardware, or any combinations thereof.

As used herein any reference to “one embodiment” or “an embodiment”means that a particular element, feature, structure, or characteristicdescribed in connection with the embodiment is included in at least oneembodiment. The appearances of the phrase “in one embodiment” in variousplaces in the specification are not necessarily all referring to thesame embodiment.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a process,method, article, or apparatus that comprises a list of elements is notnecessarily limited to only those elements but may include otherelements not expressly listed or inherent to such process, method,article, or apparatus. Further, unless expressly stated to the contrary,“or” refers to an inclusive or and not to an exclusive or. For example,a condition A or B is satisfied by any one of the following: A is true(or present) and B is false (or not present), A is false (or notpresent) and B is true (or present), and both A and B are true (orpresent).

In addition, use of the “a” or “an” are employed to describe elementsand components of the embodiments herein. This is done merely forconvenience and to give a general sense of the disclosed embodiments.This description should be read to include one or at least one and thesingular also includes the plural unless it is obvious that it is meantotherwise. Similarly, the terms “first” and “second” are generally usedherein to allow clear referencing of different elements of a same class(e.g., a “first label” as simply distinguished from “a second label”),rather than designating an ordering, ranking, or placement of the firstitem relative to the second item.

Upon reading this disclosure, those of skill in the art will appreciatestill additional alternative structural and functional designs for asystem and a process for browsing video sets through the disclosedprinciples herein. Thus, while particular embodiments and applicationshave been illustrated and described, it is to be understood that thedisclosed embodiments are not limited to the precise construction andcomponents disclosed herein. Various modifications, changes andvariations, which will be apparent to those skilled in the art, may bemade in the arrangement, operation and details of the method andapparatus disclosed herein without departing from the spirit and scopedefined in the appended claims.

What is claimed is:
 1. (canceled)
 2. A computer implemented method forcontrolling playback of videos, the method comprising: providing a userinterface by a computing device; responsive to a first input from adirectional controller along a first axis of the directional controller,providing, by the computing device, a display of one or more levels ofcontrol for controlling video playback in the user interface, whereineach level of control includes at least one control option that isdifferent from control options at other levels of control, and setting afocus within one of the levels of control; and responsive to a secondinput from the directional controller along a second axis of thedirectional controller, moving, by the computing device, the focus toanother one of the at least one control option within a current level ofcontrol.
 3. The method of claim 2, wherein the levels of control includea video level and a channel level.
 4. The method of claim 3, wherein thevideo level includes a plurality of video previews and the channel levelincludes a plurality of channel previews.
 5. The method of claim 4,wherein the plurality of video previews is associated with one of theplurality of channel previews.
 6. The method of claim 3, wherein thechannel level includes a search result displayed as a search resultchannel, the search result channel associated with a plurality of videopreviews.
 7. The method of claim 2, wherein the plurality of videos isdisplayed sequentially without interaction from a user.
 8. The method ofclaim 2, wherein the display of one or more levels of control isoverlaid on one or more of the plurality of videos.
 9. The method ofclaim 2, wherein the first axis of the directional controller is in avertical direction and the second axis of the directional controller isin a horizontal direction.
 10. A non-transitory computer-readable mediumhaving instructions that, when executed by a computing device, cause thecomputing device to perform operations comprising: providing a userinterface by the computing device; responsive to a first input from adirectional controller along a first axis of the directional controller,providing, by the computing device, a display of one or more levels ofcontrol for controlling video playback in the user interface, whereineach level of control includes at least one control option that isdifferent from control options at other levels of control, and setting afocus within one of the levels of control; and responsive to a secondinput from the directional controller along a second axis of thedirectional controller, moving, by the computing device, the focus toanother one of the at least one control option within a current level ofcontrol.
 11. The apparatus of claim 10, wherein the levels of controlinclude a video level and a channel level.
 12. The apparatus of claim11, wherein the video level includes a plurality of video previews andthe channel level includes a plurality of channel previews.
 13. Theapparatus of claim 12, wherein the plurality of video previews isassociated with one of the plurality of channel previews.
 14. Theapparatus of claim 10, wherein the channel level includes a searchresult displayed as a search result channel, the search result channelassociated with a plurality of video previews.
 15. The apparatus ofclaim 10, wherein the plurality of videos is displayed sequentiallywithout interaction from a user.
 16. The apparatus of claim 10, whereinthe display of one or more levels of control is overlaid on one or moreof the plurality of videos.
 17. The apparatus of claim 10, wherein thefirst axis of the directional controller is in a vertical direction andthe second axis of the directional controller is in a horizontaldirection.
 18. A system for controlling playback of videos, the systemcomprising: a memory; and a processor coupled to the memory, theprocessor being configured to: provide a user interface; responsive to afirst input from a directional controller along a first axis of thedirectional controller, provide a display of one or more levels ofcontrol for controlling video playback in the user interface, whereineach level of control includes at least one control option that isdifferent from control options at other levels of control, and setting afocus within one of the levels of control; and responsive to a secondinput from the directional controller along a second axis of thedirectional controller, move the focus to another one of the at leastone control option within a current level of control.
 19. The system ofclaim 18, wherein the levels of control include a video level and achannel level, wherein the video level includes a plurality of videopreviews and the channel level includes a plurality of channel previews,and wherein the plurality of video previews is associated with one ofthe plurality of channel previews.
 20. The system of claim 19, whereinthe channel level includes a search result displayed as a search resultchannel, the search result channel associated with a plurality of videopreviews.
 21. The system of claim 18, wherein the plurality of videos isdisplayed sequentially without interaction from a user.